(1.2.2.1) Clarify the goal
Let's suppose you want to learn programming language Python. At this time, it is the typical bad pattern that sets the goal to master the programming language Python. For ease of reference in the future, I call this pattern unknown achievement condition. Let us think a marathon which you do not know where the goal is, and you do not know how many kilometers to run. Can you complete the marathon? In the situation, keeping motivated is difficult. Trying to master a programming language is the same.
You do not know how far you need to run to feel that you master the language. You feel difficult to keep motivated.